home *** CD-ROM | disk | FTP | other *** search
- Notes about Prototype 4 of KEYB 2.0 ("TAURUS")
- ==============================================
-
- This is the prototype 4 to KEYB 2.0 ("taurus") project.
-
- Prototypes are functional snapshots of my current work that do not contain
- all the functionality of the future 2.0 project.
-
- Prototypes started by replacing little by little xkeyb code. Prototype4 is
- fairly mature, and most of the code is completely rewritten (it has small
- contributions from xkeyb in the SHIFTs management and some non-resident code,
- and some code from Matthias Paul to flush caches before reboot).
-
- Prototype 4 does NOT work at all with KEY-style files (as xkeyb and
- prototypes 1-3 did). It needs files in a format called KC format. You can
- create your own KC files with a compiler tool, also included in the pack. The
- compiler uses KEY-style files to create KC files. Later you use KC-style files
- with KEYBP4.
-
- WARNING: P4 does NOT do any sanity check. If used with damaged KC files, or
- non-KC files may look your PC or cause unstability.
-
- Prototype 4 comes with a set of layouts (going beyond the "reduced pack" for
- xkeyb) which are pre-compiled, and that you can direcly use. These have been
- created and compiled by the kind effort of Henrique Peron, author of the
- xkeyb packs.
-
- From Prototype4, there are no features to miss from xkeyb (except in the rare
- case in which you use the MuX API of xkeyb, which will not be supported), or
- to remap SHIFT keys (to be added later, and not quite usual anyway) but for
- the contrary, it comes with a large deal of new features, and specially a
- quite more reduced size (around 1.5KB with standard KC files).
-
- It is not yet guaranteed to work on a PC/XT class machine (but it will in
- future releases)
-
-
- SOME COMMENTS AND FEATURES
- --------------------------
-
- * See the Fast Help to know more about KEYB2.
-
- * It allows you to choose the degree of int9h management that you want. You
- will rarely use full management, unless you create a layout that does not
- depend on already loaded KEYB management routines. None is provided. By
- default, no management is included. Most work is done through int15h/4Fh
-
- * It does not yet support codepage changes, but it will in P5 (for the moment,
- at least it doesn't refrain DISPLAY from performing the change).
-
- * Source file is a single Pascal file with quite a lot of assembler code,
- specially in the resident piece.
-
- * The module has an improved module discardation system: most of the unused
- code is unloaded to save space. This, jointly with the ussage of compiled
- layouts, reduces typical resident size from 3.5Kb (in P3) to 1.5Kb (in P4).
-
- * You can remap the decimal char, and you can enable/disable the driver with
- Ctrl+Alt+F1 and Ctrl+Alt+F2
-
- * You can include in XStrings a greater deal of functionality, specify
- scancodes and chars, etc.
-
- * Overloading is NOT yet supported. To switch layout, unload and reload
- the driver.
-
- * Character 8 removes a COMBI
-
- * The driver is sensible to APL software (but in /9* mode or above)
-
- * You can have localised versions of the program under recompilation. To do so,
- rename your message file to .NLS extension, and recompile
-
- FOR THE PROGRAMMER
- ------------------
-
- * New TableLookUp procedure to look in the new tables
-
- * There is a single StoreKey procedure, which is supposed to be the common
- entry point to drop a key to the buffer (and in AT, it will turn to the very
- short int16h/AH=5h)
-
- * TranslateScancode is the single procedure for those special keys that need
- to change their scancode (Alt+number, Ctrl+numpad, Fn keys, ...)
-
- * Alt+NumPad effect now through commands
-
- * KEYB command execution can be called from the KEYB API
-
- * Tighter code discardation
-
- * Information about the KEY file structure: see accompaining documentation and
- compiler source header
-
- * Information about the KC file structure: see compiler source header
-
- * To build KEYB use TP7/BP7, and to build the compiler use BC++ 3.1